package com.wxf.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

public class DoctorExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DoctorExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        protected void addCriterionForJDBCDate(String condition, Date value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value.getTime()), property);
        }

        protected void addCriterionForJDBCDate(String condition, List<Date> values, String property) {
            if (values == null || values.size() == 0) {
                throw new RuntimeException("Value list for " + property + " cannot be null or empty");
            }
            List<java.sql.Date> dateList = new ArrayList<java.sql.Date>();
            Iterator<Date> iter = values.iterator();
            while (iter.hasNext()) {
                dateList.add(new java.sql.Date(iter.next().getTime()));
            }
            addCriterion(condition, dateList, property);
        }

        protected void addCriterionForJDBCDate(String condition, Date value1, Date value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            addCriterion(condition, new java.sql.Date(value1.getTime()), new java.sql.Date(value2.getTime()), property);
        }

        public Criteria andDoctorIdIsNull() {
            addCriterion("doctorId is null");
            return (Criteria) this;
        }

        public Criteria andDoctorIdIsNotNull() {
            addCriterion("doctorId is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorIdEqualTo(Integer value) {
            addCriterion("doctorId =", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdNotEqualTo(Integer value) {
            addCriterion("doctorId <>", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdGreaterThan(Integer value) {
            addCriterion("doctorId >", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctorId >=", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdLessThan(Integer value) {
            addCriterion("doctorId <", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdLessThanOrEqualTo(Integer value) {
            addCriterion("doctorId <=", value, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdIn(List<Integer> values) {
            addCriterion("doctorId in", values, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdNotIn(List<Integer> values) {
            addCriterion("doctorId not in", values, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdBetween(Integer value1, Integer value2) {
            addCriterion("doctorId between", value1, value2, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorIdNotBetween(Integer value1, Integer value2) {
            addCriterion("doctorId not between", value1, value2, "doctorId");
            return (Criteria) this;
        }

        public Criteria andDoctorNameIsNull() {
            addCriterion("doctorName is null");
            return (Criteria) this;
        }

        public Criteria andDoctorNameIsNotNull() {
            addCriterion("doctorName is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorNameEqualTo(String value) {
            addCriterion("doctorName =", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotEqualTo(String value) {
            addCriterion("doctorName <>", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameGreaterThan(String value) {
            addCriterion("doctorName >", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameGreaterThanOrEqualTo(String value) {
            addCriterion("doctorName >=", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLessThan(String value) {
            addCriterion("doctorName <", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLessThanOrEqualTo(String value) {
            addCriterion("doctorName <=", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameLike(String value) {
            addCriterion("doctorName like", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotLike(String value) {
            addCriterion("doctorName not like", value, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameIn(List<String> values) {
            addCriterion("doctorName in", values, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotIn(List<String> values) {
            addCriterion("doctorName not in", values, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameBetween(String value1, String value2) {
            addCriterion("doctorName between", value1, value2, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorNameNotBetween(String value1, String value2) {
            addCriterion("doctorName not between", value1, value2, "doctorName");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityIsNull() {
            addCriterion("doctorIdentity is null");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityIsNotNull() {
            addCriterion("doctorIdentity is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityEqualTo(String value) {
            addCriterion("doctorIdentity =", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityNotEqualTo(String value) {
            addCriterion("doctorIdentity <>", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityGreaterThan(String value) {
            addCriterion("doctorIdentity >", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityGreaterThanOrEqualTo(String value) {
            addCriterion("doctorIdentity >=", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityLessThan(String value) {
            addCriterion("doctorIdentity <", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityLessThanOrEqualTo(String value) {
            addCriterion("doctorIdentity <=", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityLike(String value) {
            addCriterion("doctorIdentity like", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityNotLike(String value) {
            addCriterion("doctorIdentity not like", value, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityIn(List<String> values) {
            addCriterion("doctorIdentity in", values, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityNotIn(List<String> values) {
            addCriterion("doctorIdentity not in", values, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityBetween(String value1, String value2) {
            addCriterion("doctorIdentity between", value1, value2, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorIdentityNotBetween(String value1, String value2) {
            addCriterion("doctorIdentity not between", value1, value2, "doctorIdentity");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneIsNull() {
            addCriterion("doctorPhone is null");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneIsNotNull() {
            addCriterion("doctorPhone is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneEqualTo(String value) {
            addCriterion("doctorPhone =", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneNotEqualTo(String value) {
            addCriterion("doctorPhone <>", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneGreaterThan(String value) {
            addCriterion("doctorPhone >", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("doctorPhone >=", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneLessThan(String value) {
            addCriterion("doctorPhone <", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneLessThanOrEqualTo(String value) {
            addCriterion("doctorPhone <=", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneLike(String value) {
            addCriterion("doctorPhone like", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneNotLike(String value) {
            addCriterion("doctorPhone not like", value, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneIn(List<String> values) {
            addCriterion("doctorPhone in", values, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneNotIn(List<String> values) {
            addCriterion("doctorPhone not in", values, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneBetween(String value1, String value2) {
            addCriterion("doctorPhone between", value1, value2, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorPhoneNotBetween(String value1, String value2) {
            addCriterion("doctorPhone not between", value1, value2, "doctorPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneIsNull() {
            addCriterion("doctorTelPhone is null");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneIsNotNull() {
            addCriterion("doctorTelPhone is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneEqualTo(String value) {
            addCriterion("doctorTelPhone =", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneNotEqualTo(String value) {
            addCriterion("doctorTelPhone <>", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneGreaterThan(String value) {
            addCriterion("doctorTelPhone >", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("doctorTelPhone >=", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneLessThan(String value) {
            addCriterion("doctorTelPhone <", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneLessThanOrEqualTo(String value) {
            addCriterion("doctorTelPhone <=", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneLike(String value) {
            addCriterion("doctorTelPhone like", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneNotLike(String value) {
            addCriterion("doctorTelPhone not like", value, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneIn(List<String> values) {
            addCriterion("doctorTelPhone in", values, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneNotIn(List<String> values) {
            addCriterion("doctorTelPhone not in", values, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneBetween(String value1, String value2) {
            addCriterion("doctorTelPhone between", value1, value2, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorTelPhoneNotBetween(String value1, String value2) {
            addCriterion("doctorTelPhone not between", value1, value2, "doctorTelPhone");
            return (Criteria) this;
        }

        public Criteria andDoctorSexIsNull() {
            addCriterion("doctorSex is null");
            return (Criteria) this;
        }

        public Criteria andDoctorSexIsNotNull() {
            addCriterion("doctorSex is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorSexEqualTo(Integer value) {
            addCriterion("doctorSex =", value, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexNotEqualTo(Integer value) {
            addCriterion("doctorSex <>", value, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexGreaterThan(Integer value) {
            addCriterion("doctorSex >", value, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctorSex >=", value, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexLessThan(Integer value) {
            addCriterion("doctorSex <", value, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexLessThanOrEqualTo(Integer value) {
            addCriterion("doctorSex <=", value, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexIn(List<Integer> values) {
            addCriterion("doctorSex in", values, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexNotIn(List<Integer> values) {
            addCriterion("doctorSex not in", values, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexBetween(Integer value1, Integer value2) {
            addCriterion("doctorSex between", value1, value2, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorSexNotBetween(Integer value1, Integer value2) {
            addCriterion("doctorSex not between", value1, value2, "doctorSex");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayIsNull() {
            addCriterion("doctorBirthday is null");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayIsNotNull() {
            addCriterion("doctorBirthday is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayEqualTo(Date value) {
            addCriterionForJDBCDate("doctorBirthday =", value, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayNotEqualTo(Date value) {
            addCriterionForJDBCDate("doctorBirthday <>", value, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayGreaterThan(Date value) {
            addCriterionForJDBCDate("doctorBirthday >", value, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctorBirthday >=", value, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayLessThan(Date value) {
            addCriterionForJDBCDate("doctorBirthday <", value, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctorBirthday <=", value, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayIn(List<Date> values) {
            addCriterionForJDBCDate("doctorBirthday in", values, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayNotIn(List<Date> values) {
            addCriterionForJDBCDate("doctorBirthday not in", values, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctorBirthday between", value1, value2, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorBirthdayNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctorBirthday not between", value1, value2, "doctorBirthday");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeIsNull() {
            addCriterion("doctorAge is null");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeIsNotNull() {
            addCriterion("doctorAge is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeEqualTo(Integer value) {
            addCriterion("doctorAge =", value, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeNotEqualTo(Integer value) {
            addCriterion("doctorAge <>", value, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeGreaterThan(Integer value) {
            addCriterion("doctorAge >", value, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctorAge >=", value, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeLessThan(Integer value) {
            addCriterion("doctorAge <", value, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeLessThanOrEqualTo(Integer value) {
            addCriterion("doctorAge <=", value, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeIn(List<Integer> values) {
            addCriterion("doctorAge in", values, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeNotIn(List<Integer> values) {
            addCriterion("doctorAge not in", values, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeBetween(Integer value1, Integer value2) {
            addCriterion("doctorAge between", value1, value2, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorAgeNotBetween(Integer value1, Integer value2) {
            addCriterion("doctorAge not between", value1, value2, "doctorAge");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailIsNull() {
            addCriterion("doctorEmail is null");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailIsNotNull() {
            addCriterion("doctorEmail is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailEqualTo(String value) {
            addCriterion("doctorEmail =", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailNotEqualTo(String value) {
            addCriterion("doctorEmail <>", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailGreaterThan(String value) {
            addCriterion("doctorEmail >", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailGreaterThanOrEqualTo(String value) {
            addCriterion("doctorEmail >=", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailLessThan(String value) {
            addCriterion("doctorEmail <", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailLessThanOrEqualTo(String value) {
            addCriterion("doctorEmail <=", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailLike(String value) {
            addCriterion("doctorEmail like", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailNotLike(String value) {
            addCriterion("doctorEmail not like", value, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailIn(List<String> values) {
            addCriterion("doctorEmail in", values, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailNotIn(List<String> values) {
            addCriterion("doctorEmail not in", values, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailBetween(String value1, String value2) {
            addCriterion("doctorEmail between", value1, value2, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorEmailNotBetween(String value1, String value2) {
            addCriterion("doctorEmail not between", value1, value2, "doctorEmail");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentIsNull() {
            addCriterion("doctorDepartment is null");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentIsNotNull() {
            addCriterion("doctorDepartment is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentEqualTo(String value) {
            addCriterion("doctorDepartment =", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentNotEqualTo(String value) {
            addCriterion("doctorDepartment <>", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentGreaterThan(String value) {
            addCriterion("doctorDepartment >", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentGreaterThanOrEqualTo(String value) {
            addCriterion("doctorDepartment >=", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentLessThan(String value) {
            addCriterion("doctorDepartment <", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentLessThanOrEqualTo(String value) {
            addCriterion("doctorDepartment <=", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentLike(String value) {
            addCriterion("doctorDepartment like", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentNotLike(String value) {
            addCriterion("doctorDepartment not like", value, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentIn(List<String> values) {
            addCriterion("doctorDepartment in", values, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentNotIn(List<String> values) {
            addCriterion("doctorDepartment not in", values, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentBetween(String value1, String value2) {
            addCriterion("doctorDepartment between", value1, value2, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDepartmentNotBetween(String value1, String value2) {
            addCriterion("doctorDepartment not between", value1, value2, "doctorDepartment");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeIsNull() {
            addCriterion("doctorDegree is null");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeIsNotNull() {
            addCriterion("doctorDegree is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeEqualTo(Integer value) {
            addCriterion("doctorDegree =", value, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeNotEqualTo(Integer value) {
            addCriterion("doctorDegree <>", value, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeGreaterThan(Integer value) {
            addCriterion("doctorDegree >", value, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctorDegree >=", value, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeLessThan(Integer value) {
            addCriterion("doctorDegree <", value, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeLessThanOrEqualTo(Integer value) {
            addCriterion("doctorDegree <=", value, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeIn(List<Integer> values) {
            addCriterion("doctorDegree in", values, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeNotIn(List<Integer> values) {
            addCriterion("doctorDegree not in", values, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeBetween(Integer value1, Integer value2) {
            addCriterion("doctorDegree between", value1, value2, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDegreeNotBetween(Integer value1, Integer value2) {
            addCriterion("doctorDegree not between", value1, value2, "doctorDegree");
            return (Criteria) this;
        }

        public Criteria andDoctorDescIsNull() {
            addCriterion("doctorDesc is null");
            return (Criteria) this;
        }

        public Criteria andDoctorDescIsNotNull() {
            addCriterion("doctorDesc is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorDescEqualTo(String value) {
            addCriterion("doctorDesc =", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescNotEqualTo(String value) {
            addCriterion("doctorDesc <>", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescGreaterThan(String value) {
            addCriterion("doctorDesc >", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescGreaterThanOrEqualTo(String value) {
            addCriterion("doctorDesc >=", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescLessThan(String value) {
            addCriterion("doctorDesc <", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescLessThanOrEqualTo(String value) {
            addCriterion("doctorDesc <=", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescLike(String value) {
            addCriterion("doctorDesc like", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescNotLike(String value) {
            addCriterion("doctorDesc not like", value, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescIn(List<String> values) {
            addCriterion("doctorDesc in", values, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescNotIn(List<String> values) {
            addCriterion("doctorDesc not in", values, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescBetween(String value1, String value2) {
            addCriterion("doctorDesc between", value1, value2, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorDescNotBetween(String value1, String value2) {
            addCriterion("doctorDesc not between", value1, value2, "doctorDesc");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeIsNull() {
            addCriterion("doctorInTime is null");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeIsNotNull() {
            addCriterion("doctorInTime is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeEqualTo(Date value) {
            addCriterionForJDBCDate("doctorInTime =", value, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeNotEqualTo(Date value) {
            addCriterionForJDBCDate("doctorInTime <>", value, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeGreaterThan(Date value) {
            addCriterionForJDBCDate("doctorInTime >", value, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeGreaterThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctorInTime >=", value, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeLessThan(Date value) {
            addCriterionForJDBCDate("doctorInTime <", value, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeLessThanOrEqualTo(Date value) {
            addCriterionForJDBCDate("doctorInTime <=", value, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeIn(List<Date> values) {
            addCriterionForJDBCDate("doctorInTime in", values, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeNotIn(List<Date> values) {
            addCriterionForJDBCDate("doctorInTime not in", values, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctorInTime between", value1, value2, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorInTimeNotBetween(Date value1, Date value2) {
            addCriterionForJDBCDate("doctorInTime not between", value1, value2, "doctorInTime");
            return (Criteria) this;
        }

        public Criteria andDoctorStateIsNull() {
            addCriterion("doctorState is null");
            return (Criteria) this;
        }

        public Criteria andDoctorStateIsNotNull() {
            addCriterion("doctorState is not null");
            return (Criteria) this;
        }

        public Criteria andDoctorStateEqualTo(Integer value) {
            addCriterion("doctorState =", value, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateNotEqualTo(Integer value) {
            addCriterion("doctorState <>", value, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateGreaterThan(Integer value) {
            addCriterion("doctorState >", value, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateGreaterThanOrEqualTo(Integer value) {
            addCriterion("doctorState >=", value, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateLessThan(Integer value) {
            addCriterion("doctorState <", value, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateLessThanOrEqualTo(Integer value) {
            addCriterion("doctorState <=", value, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateIn(List<Integer> values) {
            addCriterion("doctorState in", values, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateNotIn(List<Integer> values) {
            addCriterion("doctorState not in", values, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateBetween(Integer value1, Integer value2) {
            addCriterion("doctorState between", value1, value2, "doctorState");
            return (Criteria) this;
        }

        public Criteria andDoctorStateNotBetween(Integer value1, Integer value2) {
            addCriterion("doctorState not between", value1, value2, "doctorState");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}